<template>
  <div>
    <table
      border="1"
      width="700"
      style="border-collapse: collapse"
    >
      <caption>
        购物车
      </caption>
      <thead>
        <tr>
          <th>
            <input type="checkbox" v-model="isAll" /> <span>全选</span>
          </th>
          <th>名称</th>
          <th>价格</th>
          <th>数量</th>
          <th>总价</th>
          <th>操作</th>
        </tr>
      </thead>
      <tbody>
        <cartList v-for="(item,index) in list" :key="index" :index='index' :item="item"></cartList>
      </tbody>
      <tfoot>
        <tr style="text-align: center;">
          <td>合计:</td>
          <td colspan="5">
            {{sumPrice}}￥
          </td>
        </tr>
      </tfoot>
    </table>
  </div>
</template>

<script>
import cartList from './components/cartList.vue'
import { mapState, mapGetters } from 'vuex'

export default {
  components: {
    cartList
  },
  computed: {
    ...mapState('cart', ['list']),
    ...mapGetters('cart', ['sumPrice']),
    isAll: {
      get () {
        return this.list.every(item => item.checked)
      },
      set (val) {
        this.$store.dispatch('cart/isAllChecked', val)
      }

    }
  },
  created () {
    this.$store.dispatch('cart/getList')
  },
  methods: {
    // isAllFn (val) {
    //   console.log(val.target.checked)
    //   this.$store.dispatch('cart/isAll', {
    //     checked: val.target.checked
    //   })
    // }
  },
  data () {
    return {
    }
  }
}
</script>

<style>

</style>
